TSTP Solution File: SET741^4 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SET741^4 : TPTP v6.1.0. Released v3.6.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n103.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32286.75MB
% OS       : Linux 2.6.32-431.20.3.el6.x86_64
% CPULimit : 300s
% DateTime : Thu Jul 17 13:31:02 EDT 2014

% Result   : Timeout 300.02s
% Output   : None 
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SET741^4 : TPTP v6.1.0. Released v3.6.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n103.star.cs.uiowa.edu
% % Model    : x86_64 x86_64
% % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% % Memory   : 32286.75MB
% % OS       : Linux 2.6.32-431.20.3.el6.x86_64
% % CPULimit : 300
% % DateTime : Thu Jul 17 10:47:46 CDT 2014
% % CPUTime  : 300.02 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/SET008^1.ax, trying next directory
% FOF formula (<kernel.Constant object at 0x20ad0e0>, <kernel.DependentProduct object at 0x20adef0>) of role type named fun_image_decl
% Using role type
% Declaring fun_image:((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))) fun_image) (fun (F:(fofType->fofType)) (A:(fofType->Prop)) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((and (A X)) (((eq fofType) Y) (F X))))))) of role definition named fun_image
% A new definition: (((eq ((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))) fun_image) (fun (F:(fofType->fofType)) (A:(fofType->Prop)) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((and (A X)) (((eq fofType) Y) (F X)))))))
% Defined: fun_image:=(fun (F:(fofType->fofType)) (A:(fofType->Prop)) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((and (A X)) (((eq fofType) Y) (F X))))))
% FOF formula (<kernel.Constant object at 0x20ad0e0>, <kernel.DependentProduct object at 0x20ad5f0>) of role type named fun_composition_decl
% Using role type
% Declaring fun_composition:((fofType->fofType)->((fofType->fofType)->(fofType->fofType)))
% FOF formula (((eq ((fofType->fofType)->((fofType->fofType)->(fofType->fofType)))) fun_composition) (fun (F:(fofType->fofType)) (G:(fofType->fofType)) (X:fofType)=> (G (F X)))) of role definition named fun_composition
% A new definition: (((eq ((fofType->fofType)->((fofType->fofType)->(fofType->fofType)))) fun_composition) (fun (F:(fofType->fofType)) (G:(fofType->fofType)) (X:fofType)=> (G (F X))))
% Defined: fun_composition:=(fun (F:(fofType->fofType)) (G:(fofType->fofType)) (X:fofType)=> (G (F X)))
% FOF formula (<kernel.Constant object at 0x20af200>, <kernel.DependentProduct object at 0x20af128>) of role type named fun_inv_image_decl
% Using role type
% Declaring fun_inv_image:((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))) fun_inv_image) (fun (F:(fofType->fofType)) (B:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and (B Y)) (((eq fofType) Y) (F X))))))) of role definition named fun_inv_image
% A new definition: (((eq ((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))) fun_inv_image) (fun (F:(fofType->fofType)) (B:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and (B Y)) (((eq fofType) Y) (F X)))))))
% Defined: fun_inv_image:=(fun (F:(fofType->fofType)) (B:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and (B Y)) (((eq fofType) Y) (F X))))))
% FOF formula (<kernel.Constant object at 0x20af2d8>, <kernel.DependentProduct object at 0x20adf38>) of role type named fun_injective_decl
% Using role type
% Declaring fun_injective:((fofType->fofType)->Prop)
% FOF formula (((eq ((fofType->fofType)->Prop)) fun_injective) (fun (F:(fofType->fofType))=> (forall (X:fofType) (Y:fofType), ((((eq fofType) (F X)) (F Y))->(((eq fofType) X) Y))))) of role definition named fun_injective
% A new definition: (((eq ((fofType->fofType)->Prop)) fun_injective) (fun (F:(fofType->fofType))=> (forall (X:fofType) (Y:fofType), ((((eq fofType) (F X)) (F Y))->(((eq fofType) X) Y)))))
% Defined: fun_injective:=(fun (F:(fofType->fofType))=> (forall (X:fofType) (Y:fofType), ((((eq fofType) (F X)) (F Y))->(((eq fofType) X) Y))))
% FOF formula (<kernel.Constant object at 0x20af2d8>, <kernel.DependentProduct object at 0x20adf38>) of role type named fun_surjective_decl
% Using role type
% Declaring fun_surjective:((fofType->fofType)->Prop)
% FOF formula (((eq ((fofType->fofType)->Prop)) fun_surjective) (fun (F:(fofType->fofType))=> (forall (Y:fofType), ((ex fofType) (fun (X:fofType)=> (((eq fofType) Y) (F X))))))) of role definition named fun_surjective
% A new definition: (((eq ((fofType->fofType)->Prop)) fun_surjective) (fun (F:(fofType->fofType))=> (forall (Y:fofType), ((ex fofType) (fun (X:fofType)=> (((eq fofType) Y) (F X)))))))
% Defined: fun_surjective:=(fun (F:(fofType->fofType))=> (forall (Y:fofType), ((ex fofType) (fun (X:fofType)=> (((eq fofType) Y) (F X))))))
% FOF formula (<kernel.Constant object at 0x20af2d8>, <kernel.DependentProduct object at 0x20ada70>) of role type named fun_bijective_decl
% Using role type
% Declaring fun_bijective:((fofType->fofType)->Prop)
% FOF formula (((eq ((fofType->fofType)->Prop)) fun_bijective) (fun (F:(fofType->fofType))=> ((and (fun_injective F)) (fun_surjective F)))) of role definition named fun_bijective
% A new definition: (((eq ((fofType->fofType)->Prop)) fun_bijective) (fun (F:(fofType->fofType))=> ((and (fun_injective F)) (fun_surjective F))))
% Defined: fun_bijective:=(fun (F:(fofType->fofType))=> ((and (fun_injective F)) (fun_surjective F)))
% FOF formula (<kernel.Constant object at 0x20ada70>, <kernel.DependentProduct object at 0x20ad8c0>) of role type named fun_decreasing_decl
% Using role type
% Declaring fun_decreasing:((fofType->fofType)->((fofType->(fofType->Prop))->Prop))
% FOF formula (((eq ((fofType->fofType)->((fofType->(fofType->Prop))->Prop))) fun_decreasing) (fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F Y)) (F X)))))) of role definition named fun_decreasing
% A new definition: (((eq ((fofType->fofType)->((fofType->(fofType->Prop))->Prop))) fun_decreasing) (fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F Y)) (F X))))))
% Defined: fun_decreasing:=(fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F Y)) (F X)))))
% FOF formula (<kernel.Constant object at 0x20ad8c0>, <kernel.DependentProduct object at 0x20ada70>) of role type named fun_increasing_decl
% Using role type
% Declaring fun_increasing:((fofType->fofType)->((fofType->(fofType->Prop))->Prop))
% FOF formula (((eq ((fofType->fofType)->((fofType->(fofType->Prop))->Prop))) fun_increasing) (fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F X)) (F Y)))))) of role definition named fun_increasing
% A new definition: (((eq ((fofType->fofType)->((fofType->(fofType->Prop))->Prop))) fun_increasing) (fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F X)) (F Y))))))
% Defined: fun_increasing:=(fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F X)) (F Y)))))
% FOF formula (forall (F:(fofType->fofType)) (G:(fofType->fofType)) (H:(fofType->fofType)), (((and ((and (fun_injective ((fun_composition ((fun_composition F) G)) H))) (fun_surjective ((fun_composition ((fun_composition G) H)) F)))) (fun_surjective ((fun_composition ((fun_composition H) F)) G)))->(fun_bijective H))) of role conjecture named thm
% Conjecture to prove = (forall (F:(fofType->fofType)) (G:(fofType->fofType)) (H:(fofType->fofType)), (((and ((and (fun_injective ((fun_composition ((fun_composition F) G)) H))) (fun_surjective ((fun_composition ((fun_composition G) H)) F)))) (fun_surjective ((fun_composition ((fun_composition H) F)) G)))->(fun_bijective H))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['(forall (F:(fofType->fofType)) (G:(fofType->fofType)) (H:(fofType->fofType)), (((and ((and (fun_injective ((fun_composition ((fun_composition F) G)) H))) (fun_surjective ((fun_composition ((fun_composition G) H)) F)))) (fun_surjective ((fun_composition ((fun_composition H) F)) G)))->(fun_bijective H)))']
% Parameter fofType:Type.
% Definition fun_image:=(fun (F:(fofType->fofType)) (A:(fofType->Prop)) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((and (A X)) (((eq fofType) Y) (F X)))))):((fofType->fofType)->((fofType->Prop)->(fofType->Prop))).
% Definition fun_composition:=(fun (F:(fofType->fofType)) (G:(fofType->fofType)) (X:fofType)=> (G (F X))):((fofType->fofType)->((fofType->fofType)->(fofType->fofType))).
% Definition fun_inv_image:=(fun (F:(fofType->fofType)) (B:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and (B Y)) (((eq fofType) Y) (F X)))))):((fofType->fofType)->((fofType->Prop)->(fofType->Prop))).
% Definition fun_injective:=(fun (F:(fofType->fofType))=> (forall (X:fofType) (Y:fofType), ((((eq fofType) (F X)) (F Y))->(((eq fofType) X) Y)))):((fofType->fofType)->Prop).
% Definition fun_surjective:=(fun (F:(fofType->fofType))=> (forall (Y:fofType), ((ex fofType) (fun (X:fofType)=> (((eq fofType) Y) (F X)))))):((fofType->fofType)->Prop).
% Definition fun_bijective:=(fun (F:(fofType->fofType))=> ((and (fun_injective F)) (fun_surjective F))):((fofType->fofType)->Prop).
% Definition fun_decreasing:=(fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F Y)) (F X))))):((fofType->fofType)->((fofType->(fofType->Prop))->Prop)).
% Definition fun_increasing:=(fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F X)) (F Y))))):((fofType->fofType)->((fofType->(fofType->Prop))->Prop)).
% Trying to prove (forall (F:(fofType->fofType)) (G:(fofType->fofType)) (H:(fofType->fofType)), (((and ((and (fun_injective ((fun_composition ((fun_composition F) G)) H))) (fun_surjective ((fun_composition ((fun_composition G) H)) F)))) (fun_surjective ((fun_composition ((fun_composition H) F)) G)))->(fun_bijective H)))
% Found x40:=(x4 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found x00:=(x0 (fun (x3:fofType)=> (P X))):((P X)->(P X))
% Found (x0 (fun (x3:fofType)=> (P X))) as proof of (P0 X)
% Found (x0 (fun (x3:fofType)=> (P X))) as proof of (P0 X)
% Found x40:=(x4 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found x20:=(x2 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x2 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x2 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found x20:=(x2 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x2 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x2 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found x40:=(x4 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found x40:=(x4 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))):((P (((fun_composition ((fun_composition F) G)) H) X))->(P (((fun_composition ((fun_composition F) G)) H) X)))
% Found (x4 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found (x4 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found x20:=(x2 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x2 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x2 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found x00:=(x0 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x0 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x0 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) (((fun_composition ((fun_composition F) G)) H) X))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found x20:=(x2 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x2 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x2 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found x00:=(x0 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x0 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x0 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found x40:=(x4 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))):((P (((fun_composition ((fun_composition F) G)) H) X))->(P (((fun_composition ((fun_composition F) G)) H) X)))
% Found (x4 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found (x4 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found eq_ref00:=(eq_ref0 (fun (X:fofType)=> (((eq fofType) Y) (H X)))):(((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) (fun (X:fofType)=> (((eq fofType) Y) (H X))))
% Found (eq_ref0 (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found x20:=(x2 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))):((P (((fun_composition ((fun_composition F) G)) H) X))->(P (((fun_composition ((fun_composition F) G)) H) X)))
% Found (x2 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found (x2 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found x20:=(x2 (fun (x5:fofType)=> (P Y))):((P Y)->(P Y))
% Found (x2 (fun (x5:fofType)=> (P Y))) as proof of (P0 Y)
% Found (x2 (fun (x5:fofType)=> (P Y))) as proof of (P0 Y)
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) (((fun_composition ((fun_composition F) G)) H) X))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found x5:(P X)
% Instantiate: X0:=X:fofType
% Found x5 as proof of (P0 X0)
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) (((fun_composition ((fun_composition F) G)) H) X))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X0)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) X0))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found x00:=(x0 (fun (x1:fofType)=> (P X))):((P X)->(P X))
% Found (x0 (fun (x1:fofType)=> (P X))) as proof of (P0 X)
% Found (x0 (fun (x1:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 (f x2)):(((eq Prop) (f x2)) (f x2))
% Found (eq_ref0 (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) Y) (H x2)))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) Y) (H x2)))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) Y) (H x2)))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (((eq fofType) Y) (H x2)))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) Y) (H x))))
% Found eq_ref00:=(eq_ref0 (f x2)):(((eq Prop) (f x2)) (f x2))
% Found (eq_ref0 (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) Y) (H x2)))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) Y) (H x2)))
% Found ((eq_ref Prop) (f x2)) as proof of (((eq Prop) (f x2)) (((eq fofType) Y) (H x2)))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (((eq Prop) (f x2)) (((eq fofType) Y) (H x2)))
% Found (fun (x2:fofType)=> ((eq_ref Prop) (f x2))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) Y) (H x))))
% Found x3:(((eq fofType) Y) (((fun_composition ((fun_composition H) F)) G) x2))
% Instantiate: Y:=X:fofType;b:=(((fun_composition ((fun_composition H) F)) G) x2):fofType
% Found x3 as proof of (((eq fofType) X) b)
% Found x3:(P X)
% Instantiate: b:=X:fofType
% Found x3 as proof of (P0 b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y0)
% Found x1:(P X)
% Instantiate: b:=X:fofType
% Found x1 as proof of (P0 b)
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found x40:=(x4 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))):((P (((fun_composition ((fun_composition F) G)) H) X))->(P (((fun_composition ((fun_composition F) G)) H) X)))
% Found (x4 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found (x4 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found x00:=(x0 (fun (x1:fofType)=> (P X))):((P X)->(P X))
% Found (x0 (fun (x1:fofType)=> (P X))) as proof of (P0 X)
% Found (x0 (fun (x1:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found x30:=(x3 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x3 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x3 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found eta_expansion_dep000:=(eta_expansion_dep00 (fun (X:fofType)=> (((eq fofType) Y) (H X)))):(((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) (fun (x:fofType)=> (((eq fofType) Y) (H x))))
% Found (eta_expansion_dep00 (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eta_expansion_dep0 (fun (x5:fofType)=> Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found (((eta_expansion_dep fofType) (fun (x5:fofType)=> Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found (((eta_expansion_dep fofType) (fun (x5:fofType)=> Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found (((eta_expansion_dep fofType) (fun (x5:fofType)=> Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found eq_ref000:=(eq_ref00 P):((P Y)->(P Y))
% Found (eq_ref00 P) as proof of (P0 Y)
% Found ((eq_ref0 Y) P) as proof of (P0 Y)
% Found (((eq_ref fofType) Y) P) as proof of (P0 Y)
% Found (((eq_ref fofType) Y) P) as proof of (P0 Y)
% Found x20:=(x2 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))):((P (((fun_composition ((fun_composition F) G)) H) X))->(P (((fun_composition ((fun_composition F) G)) H) X)))
% Found (x2 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found (x2 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) X)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found x00:=(x0 (fun (x5:fofType)=> (P Y))):((P Y)->(P Y))
% Found (x0 (fun (x5:fofType)=> (P Y))) as proof of (P0 Y)
% Found (x0 (fun (x5:fofType)=> (P Y))) as proof of (P0 Y)
% Found eq_ref000:=(eq_ref00 P):((P (((fun_composition ((fun_composition F) G)) H) X))->(P (((fun_composition ((fun_composition F) G)) H) X)))
% Found (eq_ref00 P) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found ((eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)) P) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found (((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) P) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found (((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) P) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) X))
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) (((fun_composition ((fun_composition F) G)) H) X))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) (((fun_composition ((fun_composition F) G)) H) X))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) (((fun_composition ((fun_composition F) G)) H) X))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X)) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) Y))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) X))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) X))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) X))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (((fun_composition ((fun_composition F) G)) H) X))
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) Y)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) Y)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) Y)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) Y)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) Y)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) Y)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) Y)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) Y)) b)
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) Y)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) Y)) b)
% Found eq_ref000:=(eq_ref00 P):((P Y)->(P Y))
% Found (eq_ref00 P) as proof of (P0 Y)
% Found ((eq_ref0 Y) P) as proof of (P0 Y)
% Found (((eq_ref fofType) Y) P) as proof of (P0 Y)
% Found (((eq_ref fofType) Y) P) as proof of (P0 Y)
% Found x5:(P X)
% Instantiate: X0:=X:fofType
% Found x5 as proof of (P0 X0)
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X0)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) X0))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found x20:=(x2 (fun (x3:fofType)=> (P X))):((P X)->(P X))
% Found (x2 (fun (x3:fofType)=> (P X))) as proof of (P0 X)
% Found (x2 (fun (x3:fofType)=> (P X))) as proof of (P0 X)
% Found x5:(P X)
% Instantiate: X0:=X:fofType
% Found x5 as proof of (P0 X0)
% Found x3:(P X)
% Instantiate: X0:=X:fofType
% Found x3 as proof of (P0 X0)
% Found x00:=(x0 (fun (x3:fofType)=> (P X))):((P X)->(P X))
% Found (x0 (fun (x3:fofType)=> (P X))) as proof of (P0 X)
% Found (x0 (fun (x3:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X0)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) X0))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) X0)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) X0))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found ((eq_ref fofType) (((fun_composition ((fun_composition F) G)) H) X0)) as proof of (((eq fofType) (((fun_composition ((fun_composition F) G)) H) X0)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) Y) (H x4)))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) Y) (H x4)))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) Y) (H x4)))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) Y) (H x4)))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) Y) (H x))))
% Found eq_ref00:=(eq_ref0 (f x4)):(((eq Prop) (f x4)) (f x4))
% Found (eq_ref0 (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) Y) (H x4)))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) Y) (H x4)))
% Found ((eq_ref Prop) (f x4)) as proof of (((eq Prop) (f x4)) (((eq fofType) Y) (H x4)))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (((eq Prop) (f x4)) (((eq fofType) Y) (H x4)))
% Found (fun (x4:fofType)=> ((eq_ref Prop) (f x4))) as proof of (forall (x:fofType), (((eq Prop) (f x)) (((eq fofType) Y) (H x))))
% Found x20:=(x2 (fun (x3:fofType)=> (P X))):((P X)->(P X))
% Found (x2 (fun (x3:fofType)=> (P X))) as proof of (P0 X)
% Found (x2 (fun (x3:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found x5:(P X)
% Instantiate: b:=X:fofType
% Found x5 as proof of (P0 b)
% Found eq_ref00:=(eq_ref0 (fun (X:fofType)=> (((eq fofType) Y) (H X)))):(((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) (fun (X:fofType)=> (((eq fofType) Y) (H X))))
% Found (eq_ref0 (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found x60:=(x6 (fun (x7:fofType)=> (P X))):((P X)->(P X))
% Found (x6 (fun (x7:fofType)=> (P X))) as proof of (P0 X)
% Found (x6 (fun (x7:fofType)=> (P X))) as proof of (P0 X)
% Found x60:=(x6 (fun (x7:fofType)=> (P X))):((P X)->(P X))
% Found (x6 (fun (x7:fofType)=> (P X))) as proof of (P0 X)
% Found (x6 (fun (x7:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 (fun (X:fofType)=> (((eq fofType) Y) (H X)))):(((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) (fun (X:fofType)=> (((eq fofType) Y) (H X))))
% Found (eq_ref0 (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> (((eq fofType) Y) (H X)))) b)
% Found x3:(P X)
% Instantiate: b:=X:fofType
% Found x3 as proof of (P0 b)
% Found x40:=(x4 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (P b)
% Found ((eq_ref fofType) b) as proof of (P b)
% Found ((eq_ref fofType) b) as proof of (P b)
% Found ((eq_ref fofType) b) as proof of (P b)
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found x60:=(x6 (fun (x7:fofType)=> (P X))):((P X)->(P X))
% Found (x6 (fun (x7:fofType)=> (P X))) as proof of (P0 X)
% Found (x6 (fun (x7:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found x3:(((eq fofType) Y) (((fun_composition ((fun_composition H) F)) G) x2))
% Instantiate: Y:=X:fofType;b:=(((fun_composition ((fun_composition H) F)) G) x2):fofType
% Found x3 as proof of (((eq fofType) X) b)
% Found x40:=(x4 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) X)
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found x40:=(x4 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) (H x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (H x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (H x2))
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) (H x2))
% Found eq_ref00:=(eq_ref0 Y):(((eq fofType) Y) Y)
% Found (eq_ref0 Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found ((eq_ref fofType) Y) as proof of (((eq fofType) Y) b)
% Found x40:=(x4 (fun (x5:fofType)=> (P X))):((P X)->(P X))
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found (x4 (fun (x5:fofType)=> (P X))) as proof of (P0 X)
% Found x20:=(x2 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) Y)))):((P (((fun_composition ((fun_composition F) G)) H) Y))->(P (((fun_composition ((fun_composition F) G)) H) Y)))
% Found (x2 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) Y)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) Y))
% Found (x2 (fun (x5:fofType)=> (P (((fun_composition ((fun_composition F) G)) H) Y)))) as proof of (P0 (((fun_composition ((fun_composition F) G)) H) Y))
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y0)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y0)
% Found x5:(P (((fun_composition ((fun_composition F) G)) H) X))
% Instantiate: b:=(((fun_composition ((fun_composition F) G)) H) X):fofType
% Found x5 as proof of (P0 b)
% Found eq_ref00:=(eq_ref0 X):(((eq fofType) X) X)
% Found (eq_ref0 X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found ((eq_ref fofType) X) as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 b):(((eq fofType) b) b)
% Found (eq_ref0 b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found ((eq_ref fofType) b) as proof of (((eq fofType) b) Y)
% Found x4:(((eq fofType) Y0) (((fun_composition ((fun_composition H) F)) G) x3))
% Instantiate: Y0:=X:fofType;b:=(((fun_composition ((fun_composition H) F)) G) x3):fofType
% Found x4 as proof of (((eq fofType) X) b)
% Found eq_ref00:=(eq_ref0 (((fun_composition ((fun_composition F) G)) H) Y)):(((eq fofType) (((fun_composition ((fun_composition F) G)) H) Y)) (((fun_composition ((fun_composition F) G)) H) Y))
% Found (eq_ref0 (((fun_composition ((fun_composition F) G)) H) Y)) as proof of (((eq fofType) (((fun_compositi
% EOF
%------------------------------------------------------------------------------